package com.dkm.orproject.dkmoa.dao;
import com.dkm.orproject.dkmoa.domain.OaRegime;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 *  @ClassName : OaRegimeMapper  //类名
 *  @Description : 规章制度类dao层操作数据库实体类
 *  @Author : zmh //作者
 *  @Date: 2020-11-12 16:28  //时间
 */
@Mapper
public interface OaRegimeMapper {
    /**
     * 根据pkRegimeId查询删除该条规章制度数据
     * @param pkRegimeId
     * @return 回调函数
     */
    int deleteByPrimaryKey(Long pkRegimeId);
    /**
     * 插入规章制度数据
     * @param oaRegime 规章制度对象
     */
    int insertSelective(OaRegime oaRegime);
    /**
     * 根据pkRegimeId查询规章制度数据
     * @param pkRegimeId
     * @return 规章制度对象
     */
    OaRegime selectByPrimaryKey(Long pkRegimeId);
    /**
     * 根据oaRegime的id值查询然后修改该条数据
     * @param oaRegime
     */
    int updateByPrimaryKeySelective(OaRegime oaRegime);
    /**
     * 根据list存入的id批量删除规则制度数据
     * @param list list里存入id的集合
     */
    int deleteAll(List<Long> list);
    /**
     * 分页查询所有规则制度信息数据
     * @param oaRegime
     * @param startTime 开始时间
     * @param endTime 结束时间
     * @return 所有规则制度对象的集合
     */
    List<OaRegime> selectAll(@Param("oaRegime") OaRegime oaRegime, @Param("startDate") String startTime, @Param("endDate") String endTime);


    /**
     * 查询规则制度有效数据总条数
     * @param oaRegime 规则制度对象
     * @param startTime 开始时间
     * @param endTime 结束时间
     */
    Long rowCount(@Param("oaRegime") OaRegime oaRegime, @Param("startDate") String startTime, @Param("endDate") String endTime);

    /**
     * 查询总规则制度条数
     * @return 总条数
     */
    Long findCount();
}